//---------------------------------------------------------------------------

#ifndef LamparaH
#define LamparaH

#include "Color.h"
#include "ObjetoCuadrico.h"
#include "Cilindro.h"
#include "CMatriz.h"
#include <math.h>       /* acos */

#define PI 3.14159265
//---------------------------------------------------------------------------

class Lampara: public Objeto3D
{
protected:
        bool enabled;
        float r;
        float h;
        ObjetoCuadrico* pantalla;
        GLfloat luzDir[4];
        GLfloat luzPos[4];
        GLfloat cutoff;
        int exponent;
        

public:
        //se crean el numero de objetos num con matrices vacias
        Lampara(float r, float h);
        ~Lampara();

        void escalarEjeY(float y){
                this->scalate(1,1,y);
                h = h*y;
        }
        void draw();
        void calcularCutOff(){
                float hyp = sqrt(pow(r,2)+pow(h,2));
                cutoff = acos (h/hyp) * 180.0 / PI;
        }
        void reducirIntensidad(){ if (exponent<128) exponent+=4; }

        void aumentarIntensidad(){ if(exponent>4) exponent -=4; }

        void setEnabled(bool b){ enabled = b; }
};

#endif
